The subject matter of this application broadly relates to systems and methods that facilitate remote identification of audio or audiovisual content being viewed by a user.
In many instances, it is useful to precisely identify audio or audiovisual content presented to a person, such as broadcasts on live television or radio, content being played on a DVD or CD, time-shifted content recorded on a DVR, etc. As one example, when compiling television or other broadcast ratings, or determining which commercials are shown during particular time slots, it is beneficial to capture the content played on the equipment of an individual viewer, particularly when local broadcast affiliates either display geographically-varying content, or insert local commercial content within a national broadcast. As another example, content providers may wish to provide supplemental material synchronized with broadcast content, so that when a viewer watches a particular show, the supplemental material may be provided to a secondary display device of that viewer, such as a laptop computer, tablet, etc. In this manner, if a viewer is determined to be watching a live baseball broadcast, each batter's statistics may be streamed to a user's laptop as the player is batting.
Contemporaneously determining what content a user is watching at a particular instant is not a trivial task. Some techniques rely on special hardware in a set-top box that analyzes video as the set-top box decodes frames. The requisite processing capability for such systems, however, is often cost-prohibitive. In addition, correct identification of decoded frames typically presumes an aspect ratio for a display, e.g. 4:3, when a user may be viewing content at another aspect ratio such as 16:9, thereby precluding a correct identification of the program content being viewed. Similarly, such systems are too sensitive to a program frame rate that may also be altered by the viewer's system, also inhibiting correct identification of viewed content.
Still other identification techniques add ancillary codes in audiovisual content for later identification. There are many ways to add an ancillary code to a signal so that it is not noticed. For example, a code can be hidden in non-viewable portions of television video by inserting it into either the video's vertical blanking interval or horizontal retrace interval. Other known video encoding systems bury the ancillary code in a portion of a signal's transmission bandwidth that otherwise carries little signal energy. Still other methods and systems add ancillary codes to the audio portion of content, e.g. a movie soundtrack. Such arrangements have the advantage of being applicable not only to television, but also to radio and pre-recorded music. Moreover, ancillary codes that are added to audio signals may be reproduced in the output of a speaker, and therefore offer the possibility of non-intrusively intercepting and distinguishing the codes using a microphone proximate the viewer.
While the use of embedded codes in audiovisual content can effectively identify content being presented to a user, such codes have disadvantages in practical use. For example, the code would need to be embedded at the source encoder, the code might not be completely imperceptible to a user, or might not be robust to sensor distortions in consumer-grade cameras and microphones.